GUS Programmer's Digest Thu, 23 Feb 95 12:07 PST Volume 16: Issue 23 Today's Topics: GUS Programmer's Digest V16 #22 Standard Info: - Meta-info about the GUS can be found at the end of the Digest. - Before you ask a question, please READ THE FAQ. ---------------------------------------------------------------------- Date: Wed, 22 Feb 1995 18:20:43 -0500 (EST) From: "Y. Kim" Subject: Re: GUS Programmer's Digest V16 #22 On Wed, 22 Feb -1, GUS Programmer's Server wrote: > Date: Wed, 22 Feb 1995 11:27:30 GMT+1 > From: "Emil Heyrovsky" > Subject: volume ramping > > Hello. > I'm trying to play .pat files using the sdk. > How do I determine which voice caused a volume ramp interrupt? > Is there a function for this in the sdk? The documentation says > that the voice number is returned to my handler as an unsigned > integer. How is it returned?? (I'm learning C while doing this > program.) > Thanks in advance. ??? What kind of interrupt handler are you using that you can get the interrupt number like that? If you're using a low-level (i.e. handles IRQs at the system level), the appropriate register is: 2.6.2.16. IRQ Source Register - (F,8F) ================================= | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ================================= | | | | | | | | | | | | | | | +----\ | | | | | | +-------- \ | | | | | +------------ - Interrupting voice # | | | | +---------------- / | | | +--------------------/ | | +------------------------ 1 | +---------------------------- Volume Ramp IRQ pending +-------------------------------- WaveTable IRQ pending Bit 0-4- Voice # (0-31) of interrupting voice Bit 5- ALWAYS a 1 Bit 6- 0 = Volume Ramp IRQ occurred Bit 7- 0 = Wavetable IRQ occurred Note: This is a global read only register. There is only 1 for ALL voices. You MUST service any indicated IRQ's since a read of this port will clear the associated IRQ bits in the particular voice's control and/or volume control registers. Note: It is possible that multiple voices could interrupt at virtually the same time. In this case, this register will behave like a fifo. When in your IRQ handler, keep reading (and servicing) this register until you do a read with both IRQ bits set to a 1. This means there are no voice IRQs left to deal with. Note: Since it is possible to get ANOTHER IRQ from the same voice for the SAME reason, you must ignore any subsequent IRQ from that voice while in the IRQ handler. For example, when a voice hits its end position and generates an IRQ back to your application, it will continue to generate IRQ's until either the voice is stopped, the IRQ enable is turned off, or the end location is moved. --- GUS SDK version 2.20 I haven't looked at the source code, just the documentation, so if this doesn't help, sorry :( ------------------------------ End of GUS Programmer's Digest V16 #23 ************************************** To post to tomorrow's digest: To (un)subscribe or get help: To contact a human (last resort): FTP Sites Archive Directories --------- ------------------- Main N.American Site: ftp.orst.edu pub/packages/gravis wuarchive.wustl.edu systems/ibmpc/ultrasound Main Asian Site: nctuccca.edu.tw PC/ultrasound Main European Site: src.doc.ic.ac.uk packages/ultrasound Main Australian Site: ftp.mpx.com.au /ultrasound/general /ultrasound/submit South African Site: ftp.sun.ac.za /pub/packages/ultrasound Submissions: archive.epas.utoronto.ca pub/pc/ultrasound/submit Newly Validated Files: archive.epas.utoronto.ca pub/pc/ultrasound Mirrors: garbo.uwasa.fi mirror/ultrasound ftp.st.nepean.uws.edu.au pc/ultrasound ftp.luth.se pub/msdos/ultrasound Gopher Sites Menu directory ------------ -------------- Main Site: src.doc.ic.ac.uk packages/ultrasound WWW Pages --------- Main Site: http://www.xmission.com/~grue/gus.html Main European Site: http://src.doc.ic.ac.uk/packages/ultrasound/ Main Australian Site: http://ftp.mpx.com.au/archive/ultrasound/general/ http://ftp.mpx.com.au/archive/ultrasound/submit/ http://ftp.mpx.com.au/gravis.html Mirrors: http://www.st.nepean.uws.edu.au/pub/pc/ultrasound/ MailServer For Archive Access: Email to Email to New Submit Files Mailing List: Email to with content "subscribe epas-list " Hints: - Get the FAQ from the FTP sites or the request server. - Mail to for info about other GUS related mailing lists (general use, musician's, etc.).